package com.trs.publish.repository;

import org.apache.ibatis.annotations.Param;

import java.util.List;


/**
 * @author jia.haihong
 * @param <T>
 * 单表问题可以继承此接口
 */
public interface BaseRepository<T> {
    /**
     * 保存
     * @param t
     */
    void save(T t);

    /**
     * 更新
     * @param t
     */
    void update(T t);

    /**
     * 删除
     * @param id
     */
    void delete(Long id);

    /**
     * 查询
     * @param id
     * @return
     */
    T find(Long id);

    /**
     * 批量保存
     * @param list
     */
    void batchSave(List<T> list);
    
    /**
     * 批量更新
     * @param list
     */
    void batchUpdate(List<T> list);

    /**
     * 批量删除
     * @param idlist
     */
    void batchDelete(List<Long> idlist);

}
